﻿//*** Guidance generated code ***//
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;

using ProjectBase.Core;
using ProjectBase.Core.Web;

namespace $safeprojectname$.Business.Services
{
    /// <summary>
    ///     All Business checks for 'Node' on CRUD operations
    ///     are nested and encapsulated in this NodeFacade
    /// </summary>
    public interface IStoryNodeFacade : IFacade
    {
        IArticleFacade ArticleFacade { set; }
        IArticleCategoryFacade ArticleCategoryFacade { set; }
        IArticleGroupFacade ArticleGroupFacade { set; }

        /// <summary>
        ///     Returns the ordered list of used Categories
        ///     to be the Root nodes of the navigation TreeView
        /// </summary>
        /// <returns></returns>
        IEnumerable<ITVDataItem> GetRootNodes();

        ITVDataItem GetNode(string id);
    }
}